function filterValidKeyObjects(arr, key) {
    return arr.filter(obj => {
        // 检查对象是否有指定的属性且该属性不是 null、undefined 或空字符串
        return obj.hasOwnProperty(key) && obj[key] !== null && obj[key] !== undefined && obj[key] !== '';
    });
}

const inputArray = [
    { id: 1, name: 'Alice' },
    { id: null, name: 'Bob' },
    { name: 'Charlie' }, // 没有 id 属性
    { id: '', name: 'David' }, // id 为空字符串
    { id: 2, name: 'Eve' }
];

const outputArray = filterValidKeyObjects(inputArray, 'id');
console.log(outputArray);
// 输出: [{ id: 1, name: 'Alice' }, { id: 2, name: 'Eve' }]